#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

//算术操作符
// int main()
// {
//     // int a = 7 / 2;
//     // int b = 7 % 2;//取模取小数点后1位
//     // printf("%d\n",a);
//     // printf("%d\n",b);
//     //除号的两端都是整数的时候，执行的是整数除法，如果两端只有一个浮点数就执行浮点数的除法。
//     float a = 7 / 2.0;
//     int b = 7 % 2;//取模
//     //取模操作符的两个操作符只能是整数
//     printf("%.1f\n",a);//需要保留float类型后面几位小数就在%f中间加.数字。
//     printf("%d\n",b);
//     return 0;
// }

// int main()
// {
//     int a = 0;//初始化
//     a = 20;//赋值

//     a = a + 3;//a=23
//     a += 3;//都是一样的

//     a -= 3;
//     a = a - 3;
//     return 0 ;
// }

//c语言中
//0表示假
//非0表示真
//单目操作符
//   !   逻辑反操作
// int main()
// {
    // int a = 0;
    // if (!a)
    // {
    //    printf("hehe\n");
    // }

    // int a = -10;
    // int b = -a;// - 负值   + 不变
    // printf("%d\n",b);

    //sizeof 是操作符，是单目操作符
    // int a = 10;
    // printf("%d\n",sizeof(a));
    // printf("%d\n",sizeof(int));
    // printf("%d\n",sizeof(a));

    // int arr[10]= { 0 };
    // printf("%d\n",sizeof(arr));//40 数组里面一共10个元素，每个元素的字节是4，所以10x4.
    // printf("%d\n",sizeof(arr[10]));//4 一个元素占4个字节
    // printf("%d\n",sizeof(arr)/sizeof(arr[10]));//10 - 数组的元素个数


    //int a = 10;
    //int b = a++;//后置++，先使用，后++
    //int b = a; a=a+1;//先赋予b为10 ，后面再给a+1.
    // printf("%d\n",b);//10
    // printf("%d\n",a);//11

    // int a = 10;
    // int b = ++a;//前置++，先++，后使用
    //a=a+1;b=a;
    // printf("%d\n",b);//11
    // printf("%d\n",a);//11

    // int a = 10;
    // int b = a--;
    // int a = 10;
    // int b = --a;
    // printf("%d\n",b);//9
    // printf("%d\n",a);//9

    //强制类型转换
    // int a = (int)3.14;
    // //int a = int(3.14);//err
    // printf("%d\n",a);  
    // //3.14 字面浮点数，编译器默认理解为double类型。
 
    // int a = 10;
    // if (a == 3)//用于测试“相等”!=用于测试“不相等”
    // {
    //     printf("hehe\n");
    // }
//     return 0;
// }

// int mian()
// {
//     //&& 逻辑与 - 并且
//     //|| 逻辑或 - 或者
    
//     // int a = 0; //如果a为0 那么就是假值，将不成立
//     // int b = 20;
//     // if (a && b) //a和b都是真值才能成立
//     // {
//     //     printf("hehe\n");
//     // }

//     int a = 10;
//     int b = 20;
//     if (a || b)
//     {
//         prinft("hehe\n");//a和b其中一个是真值就能成立
//     }
    
    
//     return 0 ;
// }

//条件操作符/三目操作符
//exp1 ? exp2 : exp3 
// 真    取值    不算
// 假    不算    取值
// int mian()
// {
//     int a = 10;
//     int b = 20;
//     int c = a > b ? a : b;
//     return 0;
// }

//逗号表达式
//exp1.exp2.exp3,...expN
// int mian()
// {
//     int a = 10;
//     int b = 20;
//     int c = 0;
//              b=13  a=13  -5
//     int r = (b=a+3,a=b+c,c-5);//取最后一个值
//     return 0 ;
// }

//下标引用
// int mian()
// {
//     int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//     arr[3] = 20;//[]就是下标引用操作符 arr和3就是[]的操作数
    
//     return 0;
// }

//函数调用操作符
// int Add(int x, int y)
// {

//     return x+y;
// }
// int mian()
// {
//     int sum = Add(2,3);//这里的括号就是函数调用操作符，Add，2，3都是()的操作数。
//     return 0;
// }